// pages/categories/categories.js
Page({
  data: {
    allData: [] // 所有数据
    , firstLevelClassify: [] // 一级分类
    , secLevelClassify: [] // 二级分类
    , subClassify: [] // 子分类重组数据（二级、三级）
    , activeNav: 0 // 活跃导航 
  },

  // 搜索页跳转
  jumpToSearch() {
    wx.navigateTo({
      url: '../search/search',
    })
  },

  // 导航切换
  navActiveSwitch(e) {
    console.log(e.currentTarget.dataset.index)
    let index = e.currentTarget.dataset.index
    // 导航类名切换
    this.setData({
      activeNav: index
    })
    // 获取二级分类
    this.getSecLevelClassify(this.data.firstLevelClassify[index].good_type_id)
    // 重组子分类
    this.recombinationSubClassify()
  },

  // 获取一级分类
  getFirstLevelClassify() {
    wx.request({
      method: "POST",
      url: 'http://api_devs.wanxikeji.cn/api/goodType',
      success: res => {
        this.setData({
          allData: res.data.data,
          firstLevelClassify: res.data.data.filter(item => item.parent_id === 0)
        })
        console.log("一级分类为：", this.data.firstLevelClassify)
        // 获取二级分类
        this.getSecLevelClassify(this.data.firstLevelClassify[this.data.activeNav].good_type_id)
        // 重组子分类
        this.recombinationSubClassify()
      },
      fail: err => {
        console.log("获取一级分类失败", err)
      }
    })
  },

  // 获取二级分类
  getSecLevelClassify(firstId) {
    this.setData({
      secLevelClassify: this.data.allData.filter(item => item.parent_id === firstId)
    })
    console.log("二级分类为：", this.data.secLevelClassify)
  },

  // 获取三级分类
  getThirdClassify(secId) {
    return this.data.allData.filter(item => item.parent_id === secId)
  },

  // 重组子分类
  recombinationSubClassify() {
    this.setData({
      subClassify: []
    })
    let tempArr = []
    this.data.secLevelClassify.forEach(item => {
      let obj = {
        title: item.type_name,
        productList: this.getThirdClassify(item.good_type_id)
      }
      tempArr.push(obj)
    })
    this.setData({
      subClassify: tempArr
    })
    console.log("重组子类为：", this.data.subClassify)
  },

  // 分类商品展示
  categoriesProdutDisplay(e) {
    wx.navigateTo({
      url: '../searchList/searchList?good_type=' + e.currentTarget.dataset.id,
    })
  },

  onLoad: function (options) {
    // 获取一级分类
    this.getFirstLevelClassify()

    // 获取首页导航的传参
    wx.getStorage({
      key: 'activeNav',
      success: res => {
        this.setData({
          activeNav: res.data
        })
      },
      fail: err => {
        console.log("没有首页传参")
      }
    })
  },

  onShow: function () {
    // 获取首页导航的传参
    wx.getStorage({
      key: 'activeNav',
      success: res => {
        this.setData({
          activeNav: res.data
        })
        if (!this.data.firstLevelClassify[res.data]) return 
        console.log("传过来的ID为",this.data.firstLevelClassify[res.data].good_type_id)
        // 获取二级分类
        this.getSecLevelClassify(this.data.firstLevelClassify[res.data].good_type_id)
        // 重组子分类
        this.recombinationSubClassify()
        // 清除activeNav缓存
        wx.removeStorage({
          key: 'activeNav',
          success: () => {
            console.log("activeNav is removed")
          },
          fail: err => {
            console.log("activeNav 清除失败", err)
          }
        })
      },
      fail: err => {
        console.log("没有首页传参")
      }
    })
  }
})